SelfExcitedOscillators

Self Excited Oscillators

Contents

Self Excited Oscillators

We reproduce results for the example of a 4DOF coupled oscillator system with parametric excitation as given in Szabelski, K. & Warminki, J. Vibration of a Non-Linear Self-Excited System with Two Degrees of Freedomunder External and Parametric Excitation. Nonlinear Dynamics 1997 14:114,23–36 (1 1997). https://doi.org/10.1023/A:1008227315259

The negative linear damping with coefficient leads to exponentially growing amplitudes, the effect of which is balanced with positive nonlinear damping with coefficient which starts contributing at significant oscillation amplitudes. Furthermore a nonlinear spring is coupled to the first oscillator. They are connected via a spring which induces parametric excitation via a time-dependent stiffness coefficient.

clear all; close all; clc

Generate model

[M,C,K,fnl,fext] = build_model();

Dynamical system setup

We consider the forced and parametrically excited system

which can be written in the first-order form as

where

% Dynamical System
order = 2;
DS = DynamicalSystem(order);
set(DS,'order',2)
set(DS,'M',M,'C',C,'K',K,'fnl',fnl);
set(DS.Options,'Emax',5,'Nmax',10,'notation','multiindex')

Add forcing

The dynamical system is forced externally and parametrically with

DS.add_forcing(fext,1e-1);

Linear Modal Analysis

% Analyse spectrum
[V,D,W] = DS.linear_spectral_analysis();
% Choose Master subspace (perform resonance analysis)

S = SSM(DS);
set(S.Options, 'reltol', 0.5,'notation','multiindex')

%Choose Master subspace
masterModes = [3,4];
S.choose_E(masterModes);
 The first 4 nonzero eigenvalues are given as 
   0.0037 + 0.5463i
   0.0037 - 0.5463i
   0.0013 + 2.5887i
   0.0013 - 2.5887i

(near) outer resonance detected for the following combination of master eigenvalues
     1     1
     1     1

These are in resonance with the follwing eigenvalues of the slave subspace
   0.0037 + 0.5463i
   0.0037 - 0.5463i

sigma_out = 2
sigma_in = 1

Forced response curves using SSMs

Obtaining forced response curve in reduced-polar coordinate

order = 5; % Approximation order

setup options

outdof = [1,2];
set(S.Options, 'reltol', 0.5,'IRtol',0.02,'notation', 'multiindex','contribNonAuto',true)
set(S.FRCOptions, 'nt', 2^7, 'nRho', 80, 'nPar',600, 'nPsi', 80, 'rhoScale', 4 )
set(S.FRCOptions, 'method','level set') % 'continuation ep'
set(S.FRCOptions, 'outdof',outdof)
set(S.FRCOptions,'coordinates','cartesian')

choose frequency range around the master mode frequency

omega0 = imag(S.E.spectrum(1));
OmegaRange =omega0*[0.95 1.1];

Extract forced response curve

startFRCSSM = tic;
FRC = S.extract_FRC('freq',OmegaRange,order);
figFRC = gcf;
timings.FRCSSM = toc(startFRCSSM)
*****************************************
Calculating FRC using SSM with master subspace: [3  4]
(near) outer resonance detected for the following combination of master eigenvalues
     1     1
     1     1

These are in resonance with the follwing eigenvalues of the slave subspace
   0.0037 + 0.5463i
   0.0037 - 0.5463i

sigma_out = 2
sigma_in = 1
Due to (near) outer resonance, the exisitence of the manifold is questionable and the underlying computation may suffer.
Attempting manifold computation
Manifold computation time at order 2 = 00:00:00
Estimated memory usage at order  2 = 7.78E-03 MB
Manifold computation time at order 3 = 00:00:00
Estimated memory usage at order  3 = 9.10E-03 MB
Manifold computation time at order 4 = 00:00:00
Estimated memory usage at order  4 = 1.13E-02 MB
Manifold computation time at order 5 = 00:00:00
Estimated memory usage at order  5 = 1.40E-02 MB
gamma = 
  -0.0022 + 0.0038i
   0.0000 - 0.0000i

Total time spent on FRC computation upto O(5) = 00:00:53

timings = 

  struct with fields:

    FRCSSM: 54.3701

Verification: Collocation using coco

Dankowicz, H., & Schilder, F. (2013). Recipes for Continuation, SIAM Philadelphia. https://doi.org/10.1137/1.9781611972573

nCycles = 10;

coco = cocoWrapper(DS, nCycles, outdof);
set(coco,'initialGuess','forward')
set(coco.Options, 'NAdapt', 1);
set(coco.Options,'NTST', 70,'PtMX',350);

figure(figFRC)
hold on
startcoco = tic;
bd3 = coco.extract_FRC(OmegaRange);
timings.cocoFRC = toc(startcoco)
 Run='FRC0.1': Continue primary family of periodic orbits.

    STEP   DAMPING               NORMS              COMPUTATION TIMES
  IT SIT     GAMMA     ||d||     ||f||     ||U||   F(x)  DF(x)  SOLVE
   0                          2.03e-02  5.35e+00    0.0    0.0    0.0
   1   1  3.59e-01  9.75e-01  1.30e-02  5.24e+00    0.0    0.0    0.0
   2   1  5.14e-01  6.26e-01  6.33e-03  5.16e+00    0.0    0.1    0.0
   3   1  9.78e-01  3.04e-01  1.37e-04  5.10e+00    0.0    0.1    0.0
   4   1  1.00e+00  6.62e-03  4.22e-11  5.10e+00    0.0    0.2    0.0
   5   1  1.00e+00  7.63e-09  3.03e-16  5.10e+00    0.1    0.2    0.0

 STEP      TIME        ||U||  LABEL  TYPE         omega    po.period          eps         amp1         amp2
    0  00:00:00   5.0981e+00      1  EP      2.4593e+00   2.5549e+00   1.0000e-01   2.3797e-02   1.1582e-02
   10  00:00:03   6.8076e+00      2          2.5558e+00   2.4584e+00   1.0000e-01   1.3156e-01   5.7213e-02
   20  00:00:05   9.8632e+00      3          2.5683e+00   2.4464e+00   1.0000e-01   2.9035e-01   1.2452e-01
   30  00:00:07   1.2868e+01      4          2.5736e+00   2.4414e+00   1.0000e-01   4.7607e-01   2.0294e-01
   40  00:00:09   1.5329e+01      5          2.5784e+00   2.4368e+00   1.0000e-01   6.9846e-01   2.9611e-01
   50  00:00:10   1.9891e+01      6          2.5839e+00   2.4317e+00   1.0000e-01   9.2886e-01   3.9175e-01
   60  00:00:12   2.4170e+01      7          2.5902e+00   2.4258e+00   1.0000e-01   1.1444e+00   4.7916e-01
   70  00:00:14   2.7873e+01      8          2.5972e+00   2.4192e+00   1.0000e-01   1.3316e+00   5.5463e-01
   80  00:00:15   3.0690e+01      9          2.6043e+00   2.4126e+00   1.0000e-01   1.4760e+00   6.1102e-01
   90  00:00:17   3.2368e+01     10          2.6105e+00   2.4069e+00   1.0000e-01   1.5633e+00   6.4542e-01
  100  00:00:18   3.2714e+01     11          2.6149e+00   2.4028e+00   1.0000e-01   1.5839e+00   6.5424e-01
  110  00:00:20   3.1777e+01     12          2.6171e+00   2.4008e+00   1.0000e-01   1.5398e+00   6.3760e-01
  115  00:00:21   3.0950e+01     13  FP      2.6173e+00   2.4006e+00   1.0000e-01   1.4991e+00   6.2161e-01
  115  00:00:21   3.0950e+01     14  SN      2.6173e+00   2.4006e+00   1.0000e-01   1.4991e+00   6.2161e-01
  120  00:00:22   2.9750e+01     15          2.6171e+00   2.4009e+00   1.0000e-01   1.4399e+00   5.9819e-01
  130  00:00:24   2.6803e+01     16          2.6153e+00   2.4025e+00   1.0000e-01   1.2926e+00   5.3974e-01
  140  00:00:26   2.3213e+01     17          2.6123e+00   2.4052e+00   1.0000e-01   1.1119e+00   4.6702e-01
  150  00:00:27   1.9177e+01     18          2.6088e+00   2.4084e+00   1.0000e-01   9.0652e-01   3.8235e-01
  160  00:00:29   1.4885e+01     19          2.6054e+00   2.4116e+00   1.0000e-01   6.8559e-01   2.9040e-01
  170  00:00:30   1.0379e+01     20          2.6024e+00   2.4143e+00   1.0000e-01   4.5684e-01   1.9379e-01
  180  00:00:31   6.4423e+00     21          2.6000e+00   2.4166e+00   1.0000e-01   2.2275e-01   9.3949e-02
  190  00:00:33   5.7212e+00     22          2.5960e+00   2.4204e+00   1.0000e-01   1.6157e-01   6.7334e-02
  200  00:00:35   6.3551e+00     23          2.5903e+00   2.4256e+00   1.0000e-01   2.2928e-01   9.5979e-02
  210  00:00:36   1.0871e+01     24  FP      2.5856e+00   2.4301e+00   1.0000e-01   5.0832e-01   2.1385e-01
  210  00:00:37   1.0871e+01     25  SN      2.5856e+00   2.4301e+00   1.0000e-01   5.0833e-01   2.1385e-01
  210  00:00:37   1.1051e+01     26          2.5856e+00   2.4301e+00   1.0000e-01   5.1893e-01   2.1831e-01
  220  00:00:38   1.5516e+01     27          2.5876e+00   2.4282e+00   1.0000e-01   7.7540e-01   3.2554e-01
  230  00:00:40   1.9842e+01     28          2.5922e+00   2.4239e+00   1.0000e-01   1.0162e+00   4.2489e-01
  240  00:00:41   2.5565e+01     29          2.5983e+00   2.4182e+00   1.0000e-01   1.2155e+00   5.0585e-01
  250  00:00:43   2.8278e+01     30          2.6046e+00   2.4124e+00   1.0000e-01   1.3548e+00   5.6157e-01
  260  00:00:45   2.9460e+01     31          2.6098e+00   2.4075e+00   1.0000e-01   1.4173e+00   5.8693e-01
  270  00:00:46   2.8754e+01     32          2.6126e+00   2.4050e+00   1.0000e-01   1.3862e+00   5.7519e-01
  275  00:00:47   2.7817e+01     33  FP      2.6129e+00   2.4047e+00   1.0000e-01   1.3404e+00   5.5721e-01
  275  00:00:47   2.7817e+01     34  SN      2.6129e+00   2.4047e+00   1.0000e-01   1.3404e+00   5.5721e-01
  280  00:00:48   2.6349e+01     35          2.6126e+00   2.4050e+00   1.0000e-01   1.2672e+00   5.2828e-01
  290  00:00:50   2.2673e+01     36          2.6103e+00   2.4070e+00   1.0000e-01   1.0816e+00   4.5386e-01
  300  00:00:51   1.8244e+01     37          2.6071e+00   2.4100e+00   1.0000e-01   8.5793e-01   3.6183e-01
  310  00:00:53   1.3576e+01     38          2.6040e+00   2.4129e+00   1.0000e-01   6.1717e-01   2.6142e-01
  320  00:00:54   8.7229e+00     39          2.6019e+00   2.4149e+00   1.0000e-01   3.6917e-01   1.5666e-01
  326  00:00:56   6.4940e+00     40  FP      2.6014e+00   2.4153e+00   1.0000e-01   2.2757e-01   9.6146e-02
  326  00:00:56   6.4937e+00     41  SN      2.6014e+00   2.4153e+00   1.0000e-01   2.2755e-01   9.6137e-02
  330  00:00:56   5.5522e+00     42          2.6022e+00   2.4146e+00   1.0000e-01   1.3495e-01   5.6308e-02
  340  00:00:58   5.2251e+00     43          2.6097e+00   2.4076e+00   1.0000e-01   8.8372e-02   3.6242e-02
  350  00:00:59   5.0528e+00     44  EP      2.7002e+00   2.3270e+00   1.0000e-01   2.3382e-02   8.7140e-03

timings = 

  struct with fields:

     FRCSSM: 54.3701
    cocoFRC: 62.2742